package com.lggry.array.operator;

public class OperatorDemo6 {
    public static void main(String[] args) {
        //目标：掌握逻辑运算符
        System.out.println(checkPerson(176,79,'女'));
        print();
    }
    //需求：判断某个人的条件是否满足择偶要求，如果满足返回true，否则返回false
    //条件是 身高高于170，体重在60-80之间，性别为女
    public static boolean checkPerson(int height, int weight, int gender){
        boolean result = false;
        if(height > 170 && weight >= 60 && weight <= 80 && gender == '女'){
            result = true;
        }
        return result;
    }

    //判断&& || 与 & | 的区别
    public static void print(){
        int a = 111;
        int b = 2;
        System.out.println(a > 1000 && ++b > 1);    //&& 发现左边条件为false 右边直接不执行
        System.out.println(a > 1000 & ++b > 1);     //& 发现左边条件为false 右边依然执行

        int i = 10;
        int j = 20;
        System.out.println(i > 20 || ++j > 10);     // || 发现左边条件为true 右边直接不执行
        System.out.println(i > 20 | ++j > 10);      //  | 发现左边条件为true 右边依然执行
    }
}

//逻辑与： &
//逻辑或： |
//逻辑非： !
//逻辑异或：^ (2>1^3>1 判断前后条件是否相同)

//&& 短路与：如果左边为false，则右边不执行
//|| 短路或：如果左边为true，则右边不执行
